package com.fastwire.carriere.rad.controller;

import java.util.List;

import com.fastwire.carriere.common.exception.ResourceException;
import com.fastwire.carriere.dao.DAOException;
import com.fastwire.carriere.inventory.vo.ConnectivityVo;
import com.fastwire.carriere.rad.entityVo.RadAlarmVo;
import com.fastwire.carriere.rad.entityVo.RadLogVo;
import com.fastwire.carriere.rad.entityVo.RadVo;

/**
 * @author Jun
 * Created on 20120501
 */
public interface RadProcessController
{
    public String fullDiscovery(List<String> ipSubnetList) throws DAOException,
            ResourceException;

    // will search all the current rad; and refresh their information
    public String fullDiscovery() throws DAOException;

    public String adhocDiscovery(String ip) throws DAOException;

    // loopback test
    public String loopback(String ip, String testType) throws DAOException;
    
    public List<RadAlarmVo> getAlarmsByIP(String ip) throws DAOException;
    
    public List<RadLogVo> getLogsByIP(String ip) throws DAOException;
    
    // get logs from the RAD
    public String discoverLogs(String ip)  throws DAOException;
    
    public List<RadVo> getRadByNeName(String name) throws DAOException;
    
    // added on 20120626
    public RadVo getRadByIP(String ip) throws DAOException;
    //public List<RadTermPoint> getTPsByIP(String ip) throws DAOException;
    
    public List<ConnectivityVo> stitchRad2Service(ConnectivityVo con)  throws DAOException;
    public List<ConnectivityVo> stitchRad(List<ConnectivityVo> conList) throws DAOException;

}
